home *** CD-ROM | disk | FTP | other *** search
/ InterCD 2000 September / september_2000.iso / intercd / root / ^Linux / WindowMaker / src / GNUstep.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-03-08  |  3.0 KB  |  112 lines

  1. /* GNUstep.h-- stuff for compatibility with GNUstep applications
  2.  *
  3.  *  Window Maker window manager
  4.  * 
  5.  *  Copyright (c) 1997, 1998 Alfredo K. Kojima
  6.  * 
  7.  *  This program is free software; you can redistribute it and/or modify
  8.  *  it under the terms of the GNU General Public License as published by
  9.  *  the Free Software Foundation; either version 2 of the License, or
  10.  *  (at your option) any later version.
  11.  *
  12.  *  This program is distributed in the hope that it will be useful,
  13.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  14.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15.  *  GNU General Public License for more details.
  16.  *
  17.  *  You should have received a copy of the GNU General Public License
  18.  *  along with this program; if not, write to the Free Software
  19.  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
  20.  *  USA.
  21.  */
  22.  
  23.  
  24. #ifndef WMGNUSTEP_H_
  25. #define WMGNUSTEP_H_
  26.  
  27. /*
  28.  * Kluge for when proplist.h is included too. proplist.h #defines BOOL
  29.  * and Xmd.h (which is indirectly included from Xproto.h) typedefs BOOL.
  30.  * The worst is that the BOOL from Xmd.h is a 8bit type, while BOOL from
  31.  * proplist.h is int...
  32.  */
  33. #ifdef BOOL
  34. #define WINGS_BOOL_FLAG
  35. #undef BOOL
  36. #endif
  37.  
  38. #include <X11/Xproto.h>
  39.  
  40. #ifdef WINGS_BOOL_FLAG
  41. #define BOOL int
  42. #undef WINGS_BOOL_FLAG
  43. #endif
  44.  
  45. #define GNUSTEP_WM_MINIATURIZE_WINDOW "_GNUSTEP_WM_MINIATURIZE_WINDOW"
  46.  
  47. #define GNUSTEP_WM_ATTR_NAME  "_GNUSTEP_WM_ATTR"
  48.  
  49. #define    GNUSTEP_TITLEBAR_STATE     "_GNUSTEP_TITLEBAR_STATE"
  50. enum {
  51.   WMTitleBarKey = 0,
  52.   WMTitleBarNormal = 1,
  53.   WMTitleBarMain = 2
  54. };
  55.  
  56. #ifndef _WINGS_H_
  57. /* window stacking level */
  58. enum {
  59.   WMNormalWindowLevel   = 0,
  60.   WMFloatingWindowLevel  = 3,
  61.   WMDockWindowLevel   = 5,
  62.   WMSubmenuWindowLevel  = 10,
  63.   WMMainMenuWindowLevel  = 20
  64. };
  65.  
  66. /* window attributes */
  67. enum {
  68.   WMBorderlessWindowMask = 0,
  69.   WMTitledWindowMask = 1,
  70.   WMClosableWindowMask = 2,
  71.   WMMiniaturizableWindowMask = 4,
  72.   WMResizableWindowMask = 8,
  73.   WMIconWindowMask = 64,
  74.   WMMiniWindowMask = 128
  75. };
  76. #endif /* _WINGS_H_ */
  77.  
  78. /* window manager -> appkit notifications */
  79. #define GNUSTEP_WM_NOTIFICATION        "GNUSTEP_WM_NOTIFICATION"
  80.  
  81.  
  82. typedef struct {
  83.     CARD32 flags;
  84.     CARD32 window_style;
  85.     CARD32 window_level;
  86.     CARD32 reserved;
  87.     Pixmap miniaturize_pixmap;           /* pixmap for miniaturize button */
  88.     Pixmap close_pixmap;           /* pixmap for close button */
  89.     Pixmap miniaturize_mask;           /* miniaturize pixmap mask */
  90.     Pixmap close_mask;               /* close pixmap mask */
  91.     CARD32 extra_flags;
  92. } GNUstepWMAttributes;
  93.  
  94. #define GSWindowStyleAttr     (1<<0)
  95. #define GSWindowLevelAttr     (1<<1)
  96. #define GSMiniaturizePixmapAttr    (1<<3)
  97. #define GSClosePixmapAttr    (1<<4)
  98. #define GSMiniaturizeMaskAttr    (1<<5)
  99. #define GSCloseMaskAttr        (1<<6)
  100. #define GSExtraFlagsAttr    (1<<7)
  101.  
  102. /* extra flags */
  103. #define GSDocumentEditedFlag    (1<<0)
  104.  
  105. #define GSNoApplicationIconFlag    (1<<5)
  106.  
  107.  
  108. #define WMFHideOtherApplications    10
  109. #define WMFHideApplication        12
  110.  
  111. #endif
  112.